In [2]:
import pandas as pd
import plotly.express as px
import numpy as np
import plotly.graph_objects as go
import matplotlib.pyplot as plt
In [3]:
#1. ICV is only type 1 and level 1
subjectData = pd.read_csv("kirby21AllLevels.csv")
subjectData = subjectData.loc[(subjectData.type == 1)]


subjectData_l1 = subjectData.loc[(subjectData.level == 1)]
subjectData_l2 = subjectData.loc[(subjectData.level == 2)]
subjectData_l3 = subjectData.loc[(subjectData.level == 3)]
subjectData_l4 = subjectData.loc[(subjectData.level == 4)]
subjectData_l5 = subjectData.loc[(subjectData.level == 5)]

l1_volume = sum(subjectData_l1.volume)
l2_volume = sum(subjectData_l2.volume)
l3_volume = sum(subjectData_l3.volume)
l4_volume = sum(subjectData_l4.volume)
l5_volume = sum(subjectData_l5.volume)
total_volume = sum(subjectData.volume)


l1_rois = subjectData_l1.groupby('roi').sum()
l2_rois = subjectData_l1.groupby('roi').sum()
l3_rois = subjectData_l1.groupby('roi').sum()
l4_rois = subjectData_l1.groupby('roi').sum()
l5_rois = subjectData_l1.groupby('roi').sum()
In [4]:
l1_rois['volume']
Out[4]:
roi
CSF                 1761614
Diencephalon_L       180118
Diencephalon_R       181723
Mesencephalon        206457
Metencephalon       2979968
Myelencephalon        90339
Telencephalon_L    10027994
Telencephalon_R    10194129
Name: volume, dtype: int64
In [5]:
fig = go.Figure(data = go.Sankey(
    node =dict(pad=15, thickness=20,line = dict(color = "black", width = 0.5),
      label = ["Level 1 volume","CSF"," Diencephalon_L", "Diencephalon_R","Mesencephalon", "Metencephalon","Myelencephalon","Telencephalon_L","Telencephalon_R","total_volume","Level 2 volume","Level 3 volume", "Level 4 volume", "Level 5 volume"],
      color = "purple"
    ),
    link = dict(
      source = [0,0,0,0,0,0,0,0,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,9,9,9], 
      target = [1,2,3,4,5,6,7,8,0,10,1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,11,12,13],
      value = [l1_rois['volume'][0], l1_rois['volume'][1], l1_rois['volume'][2],l1_rois['volume'][3],l1_rois['volume'][4],l1_rois['volume'][5],l1_rois['volume'][6],l1_rois['volume'][7],l1_volume,l2_volume,l2_rois['volume'][0], l2_rois['volume'][1], l2_rois['volume'][2],l2_rois['volume'][3],l2_rois['volume'][4],l2_rois['volume'][5],l2_rois['volume'][6],l2_rois['volume'][7],l3_rois['volume'][0], l3_rois['volume'][1], l3_rois['volume'][2],l3_rois['volume'][3],l3_rois['volume'][4],l3_rois['volume'][5],l3_rois['volume'][6],l3_rois['volume'][7],l4_rois['volume'][0], l4_rois['volume'][1], l4_rois['volume'][2],l4_rois['volume'][3],l4_rois['volume'][4],l4_rois['volume'][5],l4_rois['volume'][6],l4_rois['volume'][7],l5_rois['volume'][0], l5_rois['volume'][1], l5_rois['volume'][2],l5_rois['volume'][3],l5_rois['volume'][4],l5_rois['volume'][5],l5_rois['volume'][6],l5_rois['volume'][7],l3_volume,l4_volume,l5_volume])))

fig.show()
In [ ]: